package com.example.arr;

/**
 * 删除有序数组nums中重复出现的元素，使每个元素只出现一次，返回删除后数组的新长度。
 * 原地删除，不能使用集合或者额外数组空间。(双指针算法)
 */
public class Distinct {

    private static int removeDuplicates(int[] arr) {
        if (arr.length == 0) {
            return 0;
        }
        int i = 0;// 慢指针
        for (int j = 0; j < arr.length; j++) {
            if (arr[i] != arr[j]) {
                i++;
                arr[i] = arr[j];
            }
        }
        return i + 1;
    }

    public static void main(String[] args) {

        int[] arr = {0, 1, 2, 2, 2, 2, 3, 3, 4};
        System.out.println(removeDuplicates(arr));


    }

}
